Memory devices have been known which comprise a memory typified by a NAND flash memory and which have multiple channels on which a plurality of access commands are executed in parallel. However, flash memories such as NAND flash memories are known to have a relatively low data retention capacity. Thus, the quality of data stored in a flash memory may, for example, be degraded over time.
Hence, in a conventional memory device comprising a flash memory, a monitoring process (hereinafter referred to as a patrol process) is executed to appropriately check for degradation of data remaining stored in the flash memory for a long time without being used. The patrol process involves read accesses and is executed, for example, in units of blocks by a memory controller. If degradation of data (degradation of quality of the data) is detected, the data in the corresponding block is rewritten to another block in the flash memory. This allows the data in the block with degradation of the data quality detected therein to be refreshed.
In the patrol process, a plurality of access commands (read commands) are speculatively issued in order to gain efficient read access to the entire area of a block to be checked (monitored). That is, succeeding access commands are issued before preceding access commands are completely executed. Thus, the memory controller is configured to record all the issued commands in order to deal with a possible error in read accesses executed in accordance with the access commands. This is not limited to the patrol process. Recording of all the access commands is also executed in, for example, a self-diagnostic process in which the memory device itself diagnoses the data (user data) stored in the flash memory in accordance with a request from a host. The recording is also executed in a refresh process in which degradation of data in peripheral pages resulting from repeated reads is detected to allow the peripheral pages to be refreshed.
Power to a memory device having a flash memory may be lost while the data in a block in the flash memory is being rewritten. In this case, the rewriting may fail to complete normally. Thus, memory devices are also known which are configured such that when the data in a block in the flash memory is to be rewritten, information indicating the progress of the rewriting (rewrite progress information) is recorded. When the memory device is powered on again, the data in the block in which the rewrite failed to complete normally is recovered based on the information on the progress of the rewrite recorded at the time of the power shutdown.
As described above, the conventional memory device having a flash memory is configured to record all the access commands speculatively issued in the read/write process (memory access process) intended for the entire area of a block. Thus, the conventional memory device requires a memory area (that is a management area) in which all the access commands are recorded. This also applies to memory devices having memories other than the flash memory provided that the memory devices execute a plurality of speculatively issued access commands in parallel.